package com.mercury.ec.framework.air.core.client.impl.sunstn.execute;

import com.mercury.ec.framework.air.core.client.impl.sunstn.dto.SunstnCommonReqDTO;
import com.mercury.ec.framework.air.core.client.impl.sunstn.dto.SunstnCommonRespDTO;
import com.mercury.ec.framework.common.exception.ServiceException;

/**
 * sunstn 请求客户端
 *
 * @author hesx
 */
public interface SunstnAirExecute {

    /**
     * sunstn接口请求
     *
     * @param url     接口地址
     * @param uid     接口账号
     * @param request 业务参数
     * @param clazz   响应类型
     * @return
     * @throws ServiceException
     */
    <T> SunstnCommonRespDTO<T> execute(String url, String uid, SunstnCommonReqDTO request, Class<T> clazz) throws ServiceException;
}
